/*
 * NodoDistrito.cpp
 *
 *  Created on: 17/10/2011
 *      Author: mario
 */

#include "NodoDistrito.h"
#include <typeinfo>


NodoDistrito::NodoDistrito() {}

NodoDistrito::~NodoDistrito() {
	delete data;
}

Distrito* NodoDistrito::getNodeValue() const{
	return this->data;
}

void NodoDistrito::setNodeValue(Distrito* value) {
	this->data = value;
}

NodoDistrito::NodoDistrito(const NodoDistrito &nodoDistrito) {
	this->setNext(nodoDistrito.getNext());
	data = nodoDistrito.data;
}

NodoDistrito& NodoDistrito::operator=(const NodoDistrito &nodoDistrito) {
	this->setNext(nodoDistrito.getNext());
	this->data = nodoDistrito.data;
	return *this;
}

NodoDistrito* NodoDistrito::clone() const {
	return new NodoDistrito(*this);
}

bool NodoDistrito::equals(const Node& node) const {
	if (typeid(&node) == typeid(this)) {
		NodoDistrito& nodoDistrito = (NodoDistrito&)node;
		if (this->getNodeValue()->getId() == nodoDistrito.getNodeValue()->getId()) {
			return true;
		}
	}
	return false;
}
